package com.aegis.common.web.exceptions.handler;

import com.aegis.common.base.BaseListChainHandler;
import com.aegis.common.web.exceptions.ExceptionParameter;

/**
 * @Author renogo
 *
 * @Version 1.0
 */
public abstract class BaseWebResponseExceptionHandler
        extends BaseListChainHandler<ExceptionParameter> {

    @Override
    public ExceptionParameter handle(ExceptionParameter exceptionParameter) {
        //开发者有自定义的类处理过，这里就不再处理了，直接返回
        if (exceptionParameter.getResult() != null) {
            return exceptionParameter;
        }
        return handleException(exceptionParameter);
    }

    /**
     *
     * @param exceptionParameter
     * @return
     */
    abstract ExceptionParameter handleException(ExceptionParameter exceptionParameter);
}
